<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns:jsp="http://java.sun.com/JSP/Page"
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:ci="http://java.sun.com/jsp/jstl/core"
	xmlns:c="http://sourceforge.net/projects/jsf-comp"
	xmlns:fn="http://java.sun.com/jsp/jstl/functions"
	xmlns:t="http://myfaces.apache.org/tomahawk"
    xmlns:p="http://primefaces.org/ui">

	<ui:composition template="/template/pPrincipal.xhtml">
		<ui:define name="head">
			<title>Asesor 360</title>
		</ui:define>
		<ui:define name="titulopagina">
			<h:outputText value="REASIGNACIÓN DE CLIENTES A ASESORES DE INVERSIÓN" />
		</ui:define>		
		<ui:define name="agregaIconoExcelRe">
		</ui:define>		  
		<ui:define name="agregaIconoEmail">
		</ui:define>
		<ui:define name="agregaIconoPDFRe">
		</ui:define>
		<ui:define name="agregaIconoEjecutivos">
		</ui:define>		
		<ui:define name="bodyarea">
			<p:messages id="messages" showDetail="true" closable="true" />
			<f:event type="preRenderView" listener="#{reasignarClientesAEjecutivosController.onPageLoad}"/>
			<input type="hidden" id="nomReporte" name="nomReporte" value="reasignarClientesAEjecutivos"/>
			<h:panelGrid width="100%" columns="2" styleClass="stylePanelColumnsPadre" id="idContentMain">
				<h:panelGrid columns="1" width="100%" styleClass="bordePanel stylePanelColumnsHijo"
					headerClass="cabeceraPanelSimple" cellspacing="0" cellpadding="5"
					style="margin-left: 0px; margin-top: 3px; margin-bottom:5px">
					<f:facet name="header">
						<h:outputText value="Clientes Para Reasignar" />
					</f:facet>
					<h:panelGrid columns="2">
						<h:outputText value="Asesor de Inversiones:" styleClass="texto" />
						<p:selectOneMenu value="#{reasignarClientesAEjecutivosController.reAsignacionClienteModel.idTipoEjecAReasig}" id="cmbTipoEjecAReasig">
						 	<p:ajax event="change" listener="#{reasignarClientesAEjecutivosController.listarCliParaReasignarPorAsesor}"
						 		update=":formPrincipal:tblClientesAReasignar,:formPrincipal:idButtonGroupAgregar,
						 		:formPrincipal:cmbTipoEjecutivo,:formPrincipal:tblClientesAsignados,:formPrincipal:messages
						 		,:formPrincipal:tblClientesReasignados"/>
				    		<f:selectItems value="#{comboModel.lstEjecAReasignar}" />
				    	</p:selectOneMenu>
					</h:panelGrid>
					<h:panelGrid columns="1" width="100%">
						<h:panelGrid columns="2">
							<p:dataTable value="#{reasignarClientesAEjecutivosController.reAsignacionClienteModel.listaClientesAReasignar}" 
								var="fila" emptyMessage="No existe información." id="tblClientesAReasignar" rowKey="#{fila.codCliente}"
								filteredValue="#{reasignarClientesAEjecutivosController.listaClientesAReasignarFilter}"
		               			selection="#{reasignarClientesAEjecutivosController.selectedClientesAReasignar}" 
		               			selectionMode="multiple" paginator="true" rows="20" styleClass="styleDataTableWrapNormal">
		               			<p:ajax event="rowSelect" listener="#{reasignarClientesAEjecutivosController.onRowSelect}" 
		               				update=":formPrincipal:idButtonGroupAgregar"/>  
		        				<p:ajax event="rowUnselect" listener="#{reasignarClientesAEjecutivosController.onRowUnselect}" 
		        					update=":formPrincipal:idButtonGroupAgregar"/>
								<p:column width="60" sortBy="#{fila.descTipoDocCliente}" headerText="Tipo Doc."
										filterBy="#{fila.descTipoDocCliente}" filterMatchMode="contains">  
						            <h:outputText id="colTipoDocCliente" value="#{fila.descTipoDocCliente}" />
						        </p:column>
								<p:column width="70" sortBy="#{fila.nroDocCliente}" headerText="Nro. Doc."
										filterBy="#{fila.nroDocCliente}" filterMatchMode="contains">  
						            <h:outputText value="#{fila.nroDocCliente}" />
						        </p:column>
								<p:column width="200" sortBy="#{fila.nombresCliente}" headerText="Nombre/Razón Social"
										filterBy="#{fila.nombresCliente}" filterMatchMode="contains">  
						            <h:outputText id="colNombre" value="#{fila.nombresCliente}" />
						            <p:tooltip for="colNombre">
										<ui:fragment rendered="#{fila.tipoAsignacion eq 'F'}">	
										    <h:outputText value="Fijo" />									
										</ui:fragment>
										<ui:fragment rendered="#{fila.tipoAsignacion eq 'T'}">	
										    <h:outputText value="Temporal" />									
										</ui:fragment>	
									</p:tooltip>
						        </p:column>						
							</p:dataTable>
							<p:spacer height="10px"/>
						</h:panelGrid>
						<h:outputText value="* Clientes con asginación fija" styleClass="texto" />
					</h:panelGrid>
					<h:panelGroup id="idButtonGroupAgregar">
						<p:commandButton rendered="#{reasignarClientesAEjecutivosController.showButtonAgregar}" value="Agregar"
							actionListener="#{reasignarClientesAEjecutivosController.agregarAClientesReAsignar}" icon="ui-icon-arrowthick-1-e"
							update=":formPrincipal:tblClientesReasignados,:formPrincipal:idPGButtonGuardar,
							:formPrincipal:tblClientesAReasignar,:formPrincipal:idButtonGroupAgregar,:formPrincipal:messages"/>
					</h:panelGroup>
				</h:panelGrid>
				<h:panelGrid columns="1" width="100%" styleClass="bordePanel stylePanelColumnsHijo"
					headerClass="cabeceraPanelSimple" cellspacing="0" cellpadding="5"
					style="margin-left: 0px; margin-top: 3px; margin-bottom:5px">
					<f:facet name="header">
						<h:outputText value="Destino de Asignación" />
					</f:facet>
					<h:panelGrid columns="1">
						<p:fieldset legend="Clientes Asignados" toggleable="true" toggleSpeed="500">
							<h:panelGrid columns="2">
								<h:outputText value="Asesor de Inversiones:" styleClass="texto" />
								<p:selectOneMenu id="cmbTipoEjecutivo" value="#{reasignarClientesAEjecutivosController.reAsignacionClienteModel.idTipoEjecutivo}">
									<p:ajax event="change" listener="#{reasignarClientesAEjecutivosController.listarCliAsignadosPorAsesor}"
								 		update=":formPrincipal:tblClientesAsignados,:formPrincipal:idButtonGroupAgregar,:formPrincipal:messages"/>
									<f:selectItems value="#{reasignarClientesAEjecutivosController.reAsignacionClienteModel.lstEjecutivos}" />
								</p:selectOneMenu>
							</h:panelGrid>
							<h:panelGrid columns="2">
								<p:dataTable value="#{reasignarClientesAEjecutivosController.reAsignacionClienteModel.listaClientesAsignados}"
									var="fila" id="tblClientesAsignados" emptyMessage="No existe información." styleClass="styleDataTableWrapNormal"
									paginator="true" rows="8" filteredValue="#{reasignarClientesAEjecutivosController.listaClientesAsignadosFilter}">
									<p:column width="60" sortBy="#{fila.descTipoDocCliente}" headerText="Tipo Doc."
											filterBy="#{fila.descTipoDocCliente}" filterMatchMode="contains">  
							            <h:outputText id="colTipoDocCliente" value="#{fila.descTipoDocCliente}" />
							        </p:column>
							        <p:column width="70" sortBy="#{fila.nroDocCliente}" headerText="Nro. Doc."
											filterBy="#{fila.nroDocCliente}" filterMatchMode="contains">  
							            <h:outputText value="#{fila.nroDocCliente}" />
							        </p:column>
									<p:column width="200" sortBy="#{fila.nombresCliente}" headerText="Nombre/Razón Social"
											filterBy="#{fila.nombresCliente}" filterMatchMode="contains">  
							            <h:outputText value="#{fila.nombresCliente}" />
							        </p:column>
									<p:column width="60" sortBy="#{fila.fechaExp}" headerText="Fecha Expiración"
											filterBy="#{fila.fechaExp}" filterMatchMode="contains">  
							            <h:outputText value="#{fila.fechaExp}" />
							        </p:column>
							        <p:column width="60" sortBy="#{fila.fechaReg}" headerText="Fecha Registro"
											filterBy="#{fila.fechaReg}" filterMatchMode="contains">  
							            <h:outputText value="#{fila.fechaReg}" />
							        </p:column>
								</p:dataTable>
								<p:spacer height="10px"/>
							</h:panelGrid>
						</p:fieldset>
						<p:spacer width="10px"/>
						<p:fieldset legend="Clientes Para Reasignar" toggleable="true" toggleSpeed="500">
							<h:panelGrid columns="2">
								<h:outputText value="Tipo Asignación:" styleClass="texto" />
								<p:selectOneMenu value="#{reasignarClientesAEjecutivosController.reAsignacionClienteModel.idTipoAsig}" id="cmbTipoAsig">
								 	<p:ajax event="change" listener="#{reasignarClientesAEjecutivosController.validarMostrarFechaExp}"
								 		update=":formPrincipal:idPGFechExp1,:formPrincipal:idPGFechExp2"/>
						    		<f:selectItems value="#{comboModel.lstTiposDeAsignacion}" />
						    	</p:selectOneMenu>
						    	
						    	<h:panelGroup id="idPGFechExp1">
						    		<h:outputText value="Fecha Expiración:" styleClass="texto" 
						    			rendered="#{reasignarClientesAEjecutivosController.showDateExpiracion}"/>
						    	</h:panelGroup>
						    	<h:panelGroup id="idPGFechExp2">
									<p:calendar value="#{reasignarClientesAEjecutivosController.reAsignacionClienteModel.fechaCulminacReemplazo}"
										showButtonPanel="false" mindate="#{reasignarClientesAEjecutivosController.minDate}"
										showOn="button" pattern="dd/MM/yyyy" size="12" maxlength="10" locale="es"
										rendered="#{reasignarClientesAEjecutivosController.showDateExpiracion}">
										<p:ajax event="dateSelect" listener="#{reasignarClientesAEjecutivosController.validateDateListener}" update=":formPrincipal:messages"/> 
										<p:ajax event="change" listener="#{reasignarClientesAEjecutivosController.validateDateListener}" update=":formPrincipal:messages"/>
									</p:calendar>
								</h:panelGroup>
							</h:panelGrid>
							<h:panelGrid columns="2">
								<p:dataTable id="tblClientesReasignados" value="#{reasignarClientesAEjecutivosController.reAsignacionClienteModel.listaClientesReasignados}"
									var="fila" paginator="true" rows="8" emptyMessage="Ningún cliente para reasignar." styleClass="styleDataTableWrapNormal">
									<p:column width="80" id="colTipoDocCliente" sortBy="#{fila.descTipoDocCliente}"
										headerText="Tipo Doc.">
										<h:outputText value="#{fila.descTipoDocCliente}" />
									</p:column>
									<p:column width="70" sortBy="#{fila.nroDocCliente}" headerText="Nro. Doc.">
										<h:outputText value="#{fila.nroDocCliente}" />
									</p:column>
									<p:column width="150" sortBy="#{fila.nombresCliente}" headerText="Nombre/Razón Social">
										<h:outputText value="#{fila.nombresCliente}" />
									</p:column>
									<p:column width="87" sortBy="#{fila.fechaReg}" headerText="Fecha Registro">
										<h:outputText value="#{fila.fechaReg}" />
									</p:column>
									<p:column width="10" headerText="">
										<p:commandButton actionListener="#{reasignarClientesAEjecutivosController.eliminarClienteReasig(fila)}" id="idEliminar"
											icon="ui-icon-closethick" update=":formPrincipal:tblClientesAReasignar,:formPrincipal:tblClientesReasignados"/> 
										<p:tooltip for="idEliminar" value="Eliminar"/>
									</p:column>
								</p:dataTable>
								<p:spacer height="10px"/>
							</h:panelGrid>
							<h:panelGroup id="idPGButtonGuardar">
								<p:commandButton actionListener="#{reasignarClientesAEjecutivosController.guardar}" icon="ui-icon-disk" 
									value="Guardar" rendered="#{reasignarClientesAEjecutivosController.showButtonGuardar}"
									update=":formPrincipal:tblClientesAsignados,:formPrincipal:idButtonGroupAgregar,:formPrincipal:tblClientesReasignados
									,:formPrincipal:messages" id="btnGuardar"/>
							</h:panelGroup>
						</p:fieldset>
					</h:panelGrid>
				</h:panelGrid>
			</h:panelGrid>
			<p:blockUI block=":formPrincipal:idContentMain" trigger=":formPrincipal:btnGuardar">
				<h:panelGrid columns="2">
					<p:graphicImage value="/imagenes/iconos/ajax-loader1.gif" style="margin-right: 12px; vertical-align: middle;"/>
					<h:outputText value="Guardando..." style="white-space: nowrap;" />
				</h:panelGrid>
			</p:blockUI>
		</ui:define>
		<ui:define name="extraarea">
			<!-- contenido del extra -->
		</ui:define>
	</ui:composition>
</html>
